這個問題已經在這裡有了答案: 反轉Python中的字符串 (29個答案) 4年前關閉。 我正在嘗試反轉一個字符串,並使用下面的代碼,但是生成的反轉列表值為None。 編碼: str_a ='這很混亂' rev_word = str_a.split() rev_word = rev_word.reverse() rev_word =''.join(rev_word) 它返回TypeError。為什麼?
.reverse()返回無。因此,您不應將其分配給變量。 使用此代替: stra ='這是一個字符串' revword = stra.split() revword.reverse() revword =''。join(revword) 我已經為您在IDEOne上運行了代碼,因此您可以看到輸出。 (還請注意,輸出為stringaisThis;您可能要使用''.join(revword)加上空格。) 還要注意,您提供的方法僅使單詞反向,而不使文本反向。 @ ron.rothman提供了一個鏈接,該鏈接詳細說明瞭如何完全反轉字符串。 | 這是我個人最喜歡的反轉字符串的方式: stra =“這是一個字符串” revword = stra [::-1] print(revword)#“發出si sihT 或者,如果您想顛倒單詞順序: revword =“” .join(stra.split()[::-1]) print(revword)#“字符串是這個” :) | 字符串上的各種反轉: instring ='這是一個字符串' reversedstring = instring [::-1] 打印反向字符串#提示sihT wordsreversed =''.join(instring.split()中單詞的word [::-1] 打印文字反序#sihT si gnirts revwordorder =''.join(instring.split()[::-1]中一個字一個字) 打印revwordorder#字符串a是這 revwordandorder =''.join(instring.split()[::-1]中的單詞為word [::-1]) 打印revwordandorder#命令 | 為了將來參考,當對象具有類似[] .reverse()的方法時,它通常對對象執行該操作(即,列表已排序且不返回任何內容,無),而類似於sorted的內置函數則對對象執行操作一個對象並返回一個值(即排序列表) | >>> s ='這是一個字符串' >>> s [::-1] 'sisi siht' >>>''.join(已反轉) 'sisi siht' | for循環從結尾(最後一個字母)到開始(第一個字母)迭代字符串 >>> s ='您也可以嘗試此方法:]' >>> rev ='' >>>對於範圍內的i(len--1,-1,-1): ... rev + = s [i] >>>轉 ']:您還需要nac uoY' | 根據評論和其他答案: str_a ='這是一個字符串' rev_word =''.join(reversed(str_a.split())) 畢竟,方法鏈接確實可以在Python中工作。 | 反向列表可以使用多種方法來完成。正如前面的答案中提到的,兩個非常突出,一個具有reverse()函數,兩個具有切片功能。我提供了一些我們應該選擇哪一種見解。 我們應該始終使用reverse()函數來反轉Python列表。有兩個原因,一個是原地逆轉,另一個是比其他更快。 我有一些數字可以支持我的回答, 在[15]中:len(l) 出[15]:1000 在[16]中:%timeit -n1 l.reverse() 1個循環,每個循環最好3:7.87 µs 在[17]中:%timeit -n1 l [::-1] 1個循環,最好為3:每個循環10 µs 對於1000個整數列表,與切片相比,reverse()函數的性能更好。 | 不是您要找的答案?瀏覽其他標記為python的問題,或詢問您自己的問題。